#ifndef WHITENOISEPLAYER_H
#define WHITENOISEPLAYER_H

#include <QWidget>
#include <QAudioOutput>
#include <QBuffer>
#include <QComboBox>
#include <QPushButton>
#include <QLabel>

class WhiteNoisePlayer : public QWidget {
    Q_OBJECT

public:
    explicit WhiteNoisePlayer(QWidget *parent = nullptr);
    ~WhiteNoisePlayer();

private slots:
    void loadNoise(int index);      // 加载白噪音文件
    void togglePlayback();          // 切换播放和暂停
    void handleAudioStateChange(QAudio::State state); // 处理音频状态变化

private:
    void startPlaying();            // 开始播放音频
    void stopPlaying();             // 停止播放

    QComboBox *noiseSelector;       // 白噪音类型选择下拉框
    QPushButton *playPauseButton;   // 播放/暂停按钮

    QAudioOutput *audioOutput;      // 音频输出设备
    QBuffer *audioBuffer;           // 内存缓冲区，用于存储音频数据

    QByteArray audioData;           // 保存音频数据
    bool isPlaying;                 // 播放状态标志
};

#endif // WHITENOISEPLAYER_H